const elTableProps = {
  data: Array,

  size: String,

  width: [String, Number],

  height: [String, Number],

  maxHeight: [String, Number],

  fit: {
    type: Boolean,
    default: true
  },

  stripe: Boolean,

  border: Boolean,

  rowKey: [String, Function],

  context: {},

  showHeader: {
    type: Boolean,
    default: true
  },

  showSummary: Boolean,

  sumText: String,

  summaryMethod: Function,

  rowClassName: [String, Function],

  rowStyle: [Object, Function],

  cellClassName: [String, Function],

  cellStyle: [Object, Function],

  headerRowClassName: [String, Function],

  headerRowStyle: [Object, Function],

  headerCellClassName: [String, Function],

  headerCellStyle: [Object, Function],

  highlightCurrentRow: Boolean,

  currentRowKey: [String, Number],

  emptyText: String,

  expandRowKeys: Array,

  defaultExpandAll: Boolean,

  defaultSort: Object,

  tooltipEffect: String,

  spanMethod: Function,

  selectOnIndeterminate: {
    type: Boolean,
    default: true
  }
}

const elPaginationProps = {
  currentPage: {
    type: Number,
    default: 1
  },

  pageSize: {
    type: Number,
    default: 10
  },

  pageSizes: {
    type: Array,
    default() {
      return [10, 20, 50, 100]
    }
  },

  // total: Number,

  layout: {
    type: String,
    default: 'prev, pager, next'
  }
}

export default {
  ...elTableProps,
  ...elPaginationProps
}
